function ocultarMensaje()
{
    var mensaje = document.getElementById('mensajes_inf');
    mensaje.style.visibility = "visible";
    setTimeout(null,5000);
    mensaje.style.visibility = "hidden";
}

function soloNumeros(evt){
 
    //asignamos el valor de la tecla a keynum

    if(window.event){// IE
        
        keynum = evt.keyCode;
    }else{
        
        keynum = evt.which;
    }

    // Acepta la tecla backspace
    if (keynum == 8)
        return true;
    //Acepta la tecla tab
    if (keynum == 0)
        return true;
    
    //comprobamos si se encuentra en el rango
    if((keynum>47 && keynum<58)){
        return true;
    }else{
        return false;
    }
}

//Deshabilita el boton de atrás del navegador.
window.history.forward();


 function soloNumerosDecimales(evt){ 
   
    //asignamos el valor de la tecla a keynum
    
    if(window.event){// IE
       
        keynum = evt.keyCode;
    }else{
       
        keynum = evt.which;
    }
 
    //comprobamos si se encuentra en el rango
    //Acepta la tecla tab
    if (keynum == 0)
        return true;
    
    //'0'=48, '9'=57, comma=188, decimal point=110   96-105= numpad  arrow left and right= 37/39 
    // || keynum==46 || keynum==44 || keynum==188
    if((keynum>47 && keynum<58)|| keynum==8  || keynum==46   ){
      
       return true;
              
    }else{
       
        return false;
    }
}


function disable(buttonid1, buttonid2, buttonid3, buttonid4){     
    document.getElementById(buttonid1).disabled = true;   
    document.getElementById(buttonid2).disabled = true;   
    document.getElementById(buttonid3).disabled = true;   
    document.getElementById(buttonid4).disabled = true;   
}

function upper(e,r){
    r.value = r.value.toUpperCase();
}

function setFocus(id_comp){
    document.getElementById(id_comp).focus();
}
/**
 * Verifica el tamano del texto de un componente
 * lo compara con el tamanno que debe tener el campo
 * y si son iguales gana el foco el campo indicado
 * por el id_comp. 
 * 
 * Funciona solo con la accion keydown 
 */
function setFocusA(componente, tamano, id_comp){
    var tamano_actual = componente.value.length;
    
    if (tamano_actual == tamano){
        setFocus(id_comp);
    }
}

//Realiza una insersion en un string pero reemplazando
function insertReplaceAt(index_i, index_f, letra, texto) {
  
          var primera_parte;
          var parte_final;
          var resultado;
          
          if (index_i == 0){
              primera_parte = "";
          }else {
              primera_parte = texto.substring(0, index_i);
          }
          
          if (index_f == (index_f - index_i)){
              parte_final = "";
          }else {
              parte_final = texto.substring(index_f, index_f - index_i);
          }
          
          resultado = primera_parte + letra + parte_final;
          return resultado;
}

function setFocusAndSelect(id_comp){
    document.getElementById(id_comp).focus();
    document.getElementById(id_comp).select();
}

//Deshabilita el boton de atrás del navegador.
window.history.forward();


if(history.forward(1))
    location.replace(history.forward(1));



function cambiarPar(id_check1){
    
    var temp = document.getElementById(id_check1);
    temp.checked = true;
    alert('jaja');
}

function soloLetras(e) {
    var tecla = document.all ? tecla = e.keyCode : tecla = e.which;
    var especiales = [8, 32, 13];/*back, space, enter */
    for (var i in especiales) {
        if (tecla == especiales[i]) { return true;/*break; */}
    }
    return (((tecla > 96 && tecla < 123) || (tecla > 64 && tecla < 91)) 
        || tecla == 241 || tecla == 209 || tecla == 8);
}

/* Llena el campo con caracteres. Si es numerico,
 * llena el campo con 9 del tamaño definido en la propiedad maxlength del campo
 * si no es numerico llena el campo con asteriscos. Si el campo es un combo
 * selecciona el item que tenga la propiedad itemValue = X 
 * 
 * Se utiliza en el evento onkeyup del campo/combo 
 * Ejemplo: onkeyup="javascript:llenarBorrar(event, this); 
 * Lo que cambia es el true o false si el campo es numerico o no. */
function llenarBorrar(evt, campo){
    
    if(window.event){// IE
        keynum = evt.keyCode;
    }else{
        keynum = evt.which;
    }

    if (keynum == 113){ // F2 = 113
        // Si el campo esta deshabilitado es razon suficiente para no hacer nada...
        if (campo.readOnly != true){
            
            if (campo instanceof HTMLInputElement){ // Se trata de un campo

                if (campo.onkeypress != null && campo.onkeypress.toString().toLowerCase().indexOf('solonumeros') !== -1){
                    // Si el evento keypress del campo contiene la palabra soloNumeros, se trata de un campo numerico.
                    campo.value = retornarCadena(campo.maxLength, '9');
                }
                if (campo.onkeypress != null && campo.onkeypress.toString().toLowerCase().indexOf('solonumerosdecimal') !== -1){
                    // Recibe los decimales por parametro
                    campo.value = retornarCadenaPunto(campo.maxLength, '9', 2);
                }else {
                    campo.value = '*';
                }
            }
            if (campo instanceof HTMLSelectElement){// Se trata de un combo
                campo.value = '9';
            }
            if (campo instanceof HTMLTextAreaElement){
                campo.value = '*';
            }
        }
    }
}

function indicarBorrar(evt, campo, indicador){
    if(window.event){// IE
        keynum = evt.keyCode;
    }else{
        keynum = evt.which;
    }
    if (keynum == 113){ // F2 = 113
        if (campo.readOnly != true){
            campo.value = indicador;
        }
    }
}



/**
 * Retorna una cadena de caracteres de <letra> de tamaño <largo> 
 **/
function retornarCadena(largo, letra){
    var cadena = '';
    for (var cont = 0; cont < largo; cont++){
        cadena = cadena + letra;
    }
    return cadena;
}
function retornarCadenaPunto(largo, letra, decimales){
    var cadena = '';
    for (var cont = 0; cont < largo; cont++){
        if (cont == (largo - (decimales + 1))){
            cadena = cadena + '.';
        }else {
            cadena = cadena + letra;
        }
    }
    return cadena;
}

